package com.ruoyi.system.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;

/**
 * 用户满意度评价和投诉/建议信息对象 tb_feedback
 * 
 * @author ruoyi
 * @date 2025-04-11
 */
@Data
public class TbFeedback extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 反馈唯一标识ID */
    private Long id;

    /** 车辆整洁干净评分 */
    @Excel(name = "车辆整洁干净评分")
    private BigDecimal vehicleCleanlinessRating = BigDecimal.ZERO;

    /** 司机态度友好评分 */
    @Excel(name = "司机态度友好评分")
    private BigDecimal driverFriendlyRating  = BigDecimal.ZERO;

    /** 安全愉快到达评分 */
    @Excel(name = "安全愉快到达评分")
    private BigDecimal safeAndPunctualRating = BigDecimal.ZERO;

    /** 投诉类型 */
    @Excel(name = "投诉类型")
    private String type;

    /** 投诉内容 */
    @Excel(name = "投诉内容")
    @NotBlank(message = "投诉内容不能为空")
    private String complaints;

    /** 上传文件信息，可存储文件路径或文件ID */
    @Excel(name = "上传文件信息，可存储文件路径或文件ID")
    private String files;

    /** 商户号 */
    @Excel(name = "商户号")
    private String merchantId;

    @TableField(exist = false)
    private String typeStr;

    @TableField(exist = false)
    private String company;

    @TableField(exist = false)
    private String carNo;

    @TableField(exist = false)
    private String name;



    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setVehicleCleanlinessRating(BigDecimal vehicleCleanlinessRating) 
    {
        this.vehicleCleanlinessRating = vehicleCleanlinessRating;
    }

    public BigDecimal getVehicleCleanlinessRating() 
    {
        return vehicleCleanlinessRating;
    }
    public void setDriverFriendlyRating(BigDecimal driverFriendlyRating) 
    {
        this.driverFriendlyRating = driverFriendlyRating;
    }

    public BigDecimal getDriverFriendlyRating() 
    {
        return driverFriendlyRating;
    }
    public void setSafeAndPunctualRating(BigDecimal safeAndPunctualRating) 
    {
        this.safeAndPunctualRating = safeAndPunctualRating;
    }

    public BigDecimal getSafeAndPunctualRating() 
    {
        return safeAndPunctualRating;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setComplaints(String complaints) 
    {
        this.complaints = complaints;
    }

    public String getComplaints() 
    {
        return complaints;
    }
    public void setFiles(String files) 
    {
        this.files = files;
    }

    public String getFiles() 
    {
        return files;
    }
    public void setMerchantId(String merchantId) 
    {
        this.merchantId = merchantId;
    }

    public String getMerchantId() 
    {
        return merchantId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("vehicleCleanlinessRating", getVehicleCleanlinessRating())
            .append("driverFriendlyRating", getDriverFriendlyRating())
            .append("safeAndPunctualRating", getSafeAndPunctualRating())
            .append("type", getType())
            .append("complaints", getComplaints())
            .append("files", getFiles())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("merchantId", getMerchantId())
            .toString();
    }
}
